package cz.muni.fi.pa165.travelagency.api.entities;

import java.io.Serializable;
import java.util.List;

/**
 *
 * @author ljungman
 */
public interface ICustomer extends Serializable {

    /**
     * Returns address of <code>ICustomer</code>
     * @return address
     */
    String getAddress();

    /**
     * Returns id of <code>ICustomer</code>
     * @return id
     */
    Long getId();

    /**
     * Returns name of <code>ICustomer</code>
     * @return name
     */
    String getName();

    /**
     * Returns list of <code>IOrder</code>s of <code>ICustomer</code>
     * @return list of <code>IOrder</code>s
     */
    List<IOrder> getOrders();

    /**
     * Returns phone number of <code>ICustomer</code>
     * @return phone number
     */
    String getPhoneNumber();

    /**
     * Sets new address to <code>ICustomer</code>
     * @param address 
     */
    void setAddress(String address);

    /**
     * Sets id to <code>ICustomer</code>
     * @param id 
     */
    void setId(Long id);

    /**
     * Sets name to <code>ICustomer</code>
     * @param name 
     */
    void setName(String name);

    /**
     * Sets list of <code>IOrder</code>s to <code>ICustomer</code>
     * @param orders 
     */
    void setOrders(List<IOrder> orders);

    /**
     * Sets phone number to <code>ICustomer</code>
     * @param phoneNumber  
     */
    void setPhoneNumber(String phoneNumber);
}
